function [config] = getConfig_pairAdoptions(runId)	
	%% Define things that are common across runs
	covariates.myX_tk1_names   = {'NumVacationsDays', 'competitor_GoogleTrend', 'photoContest_IDF'};
	covariates.myX_tk1_transfs = [                -1,                   0,             0];
	
	covariates.myX_tk2_names   = {'PRCP', 'TAVG', 'Car costs'};
	covariates.myX_tk2_transfs = [     0,      0,           0];
	
	covariates.myZ_k1_names	= {'UnemploymentRate', 'MedianIncome', 'FractionDiplBelowBac', 'FractionDiplAboveBac', 'PctageVoix_JOLY'};
	covariates.myZ_k1_transfs	= [0,0,0,0,0];
	
	covariates.myZ_k2_names	= {'UnemploymentRate', 'MedianIncome', 'FractionDiplBelowBac', 'FractionDiplAboveBac', 'PctageVoix_JOLY'};
	covariates.myZ_k2_transfs	= [0,0,0,0,0];
	
	% Covariates at k2 that affect consumers
	covariates.myZ_k2_names	  = [{'NumPublicTransitStops', 'NumCarRentalAgencies' 'Area'}, covariates.myZ_k2_names];
	covariates.myZ_k2_transfs = [                       5,                     5,      1,  covariates.myZ_k2_transfs];

	% Covariates at k2 that affect providers
	covariates.myZ_k2_names	  = [{'PopDensity', 'NumCommutersToLocation', 'NumTouristBeds'}, covariates.myZ_k2_names];
	covariates.myZ_k2_transfs = [            1,                        5,                5,  covariates.myZ_k2_transfs];
	
	covariates.myAnames	= {'isWeekendDay', 'NumHolidays', 'NumStrikeDays', 'summer2013', 'TVshow20140105', 'TVshow20140112', 'spike201302', 'spike201311'};
	covariates.myAtransfs	= [-1 -1 -1 -1 -1 -1 -1 -1];
	
	covariates.myZ_k1_geo_FE_Names  = {'oldRegionId'};
	covariates.myZ_k2_geo_FE_Names  = {'oldRegionId'};
	covariates.time_FE_Names        = {'yearMonth'};
	
	spatialMatricesFolder = '../../data/data_mat/SpatialWeights';
	covariates.spatialMatrices = {'sameCanton', 'Weight_Contiguity', 'sameDEP', 'MobilitePro', 'Weight_TouristTrip'};
		
	laggedBaseTransf.code = 2; laggedBaseTransf.denom = 'Area'; % log(laggedX / Area)
	initialBaseTreatment = true;

	%%%%% Day-level %%%%%
	if runId == 101
		dataId = 2;
		modelId = 2; % Poisson (discrete-time data)
		runFolder = createFolderIfNotExist(sprintf('../../results/day_level/pairAdoptions/run_%03d', runId));
		ctsTimeRunFolder = sprintf('../../results/continuous_time/pairAdoptions/run_201', runId);
	end
	
	%%%%% Continuous-time %%%%%
	if runId == 201
		dataId = 3;
		modelId = 3; % Exponential (continuous-time data)
		runFolder = createFolderIfNotExist(sprintf('../../results/continuous_time/pairAdoptions/run_%03d', runId));
		startingPointFile = '../../results/day_level/pairAdoptions/run_101/results.mat';
	end
	
	
	%%%%% Store everything into object config
	config.runId             = runId;
	config.modelId           = modelId;
	config.dataId            = dataId;
	config.runFolder         = runFolder;
	config.runDataFile       = sprintf('%s/runData.mat', runFolder);
	config.dynPredInputFile = sprintf('%s/dynamicPredInputs.mat', runFolder);
	
	config.covariates = covariates;
	config.laggedBaseTransf = laggedBaseTransf;
	config.spatialMatricesFolder = spatialMatricesFolder;
	
	config.initialBaseTreatment = initialBaseTreatment;
	if exist('ctsTimeRunFolder');         config.ctsTimeRunFolder         = ctsTimeRunFolder;         end;
	if exist('startingPointFile');        config.startingPointFile        = startingPointFile;        end;
end

